Communication networks typically operate in accordance with a given standard or specification which sets out what the various elements of the network are permitted to do and how that should be achieved. For example, the standard may define whether the user or more precisely, user equipment is provided with a circuit switched service or a packet switched service. The standard may also define the communication protocols which shall be used for the connection. The given standard also defines one or more of the required connection parameters. The connection parameters may relate to various features of the connection. The parameters may define features such as the maximum number of traffic channels, quality of service and so on or features that relate to multislot transmission.
In other words, the standard defines the “rules” and parameters on which the communication within the communication system can be based. Examples of the different standards and/or specifications include, without limiting to these, specifications such as GSM (Global System for Mobile communications) or various GSM based systems (such as GPRS: General Packet Radio Service), AMPS (American Mobile Phone System), DAMPS (Digital AMPS), WCDMA (Wideband Code Division Multiple Access) or CDMA in UMTS (Code Division Multiple Access in Universal Mobile Telecommunications System) and so on.
The user equipment i.e. a terminal that is to be used for communication over a particular communication network has to be implemented in accordance with the predefined “rules” of the network. A terminal may also be arranged to be compatible with more than one standard or specification, i.e. the terminal may communicate in accordance with several different types of communication services. These user equipment are often called multi-mode terminals, the basic example thereof being a dual-mode mobile station.
It is important that in order to make such communication systems behave as required, the users and operators of the systems use a set of policies that specify how the system should respond to various situations. Policy may be considered to be a combination of rules and services where rules define the criteria for resource access and usage. Policy is required for certain services in order to define which services are supported and how they are supported.
Important functions in policy control are the configuration and management of the policies (e.g. typically via a human interface of the policy control mechanism), and the resolution and enforcement of the policies (e.g. typically via an automated part of the mechanism). The policy resolution and enforcement applies the configured policies by first receiving as an input a trigger event that initiates the resolution of a policy, and then sending as output instructions that enforce the outcome of the resolved policy action.
One example of policy control area is multi-access, i.e. where a multi-mode device has multiple interfaces, logical accesses and connected network domains over which it has connections and traffic flows. The device can have access over these multiple networks sequentially or simultaneously, and policies are needed to describe which connection is acceptable over which network, as well as whether it can or should be moved to a new network.
An example of policy resolution is when a trigger event such as a detection of an interface losing connectivity to a network causes the policy action of attempting detection of a new network with a different interface, joining the new network and then moving all traffic to it from the previous network. The policies involved in this task easily become very complicated, and multiple trigger events can be received during very short periods of time. The policy actions may also become available for sending as outputs at different times, because resolution of some consists of more steps and takes more time than for the others.
Additionally, policies may be created for very different purposes but nevertheless for the same device. For example, a mobile terminal may contain employer's policies that enforce a wide range of parameters in a strictly controlled fashion. But it can also contain policies defined by the employee for use during his leisure time, with lenient interpretation of only a few key parameters. And it may contain yet further policies defined by the provider of a software application running in the terminal, and being able to very exactly define the preferred values for a certain type of traffic. It would be desirable to use all these policies at the same time, but still keep the overall policy framework (including provisioning and configuration) easy to use and efficient to execute.
Known policy management methods may be platform specific due to the use of compilers producing executable binaries, or may not be available to end users, or may involve drastic resource consumption or delays during compilation, or may require rebooting of the device. In addition, policy syntax and formats that would allow detailed processing of versatile inputs are complex and heavy, and the same applies to interpreters using such policies. Policy control methods using lookups are limited to a few parameters or parameter values, or otherwise take a large amount of memory.
Accordingly, there is a need for an improved method of policy management in a user equipment, which provides high performance and versatile policy resolution but in which policies can be easily entered, configured or modified. Embodiments of the present invention aim to address one or more of the above-mentioned problems.